# -*- coding:utf-8 -*-
"""
@Time:  2024/6/15 14:52
@Auth:  Mrs.Gou 
@Function:传值与传地址
"""

# def my_func5(x, y):
#     """定义的参数x,y叫形参"""
#     x = x + y
#     print(x)
#     return x
#
# # 实际传递的参数，我们叫实参
# x, y = 1, 1
# z = my_func5(x, y)
# # 传值，实参只是把值传给形参，它们没有任何关系
# print(x)


# def my_func5_1(a1):
#     a1 = 2
#     print(a1)
#
# a = 1
# my_func5_1(a)
# print(a)

# 容器变量的传地址
# def my_func5_2(list_a1):
#     list_a1[0] = 2
#
#
# list_a = [0, 1, 2, 3]
# my_func5_2(list_a)
# print(list_a)

# # 前拷贝，就是指拷贝了指针
# lista = [1, 2, 3]
# listb = lista
# lista[0] = 11
# print(listb)

# # 深拷贝
# lista = [1, 2, 3]
# listb = lista
# listb = []
# for n in lista:
#     listb.append(n)
# lista[0] = 11
# print(listb)

# 这为什么是深拷贝？截取是得到一个新列表
# start:默认是0，代表开始下标
# end：默认是len(my_list_3),代表列表的末尾
# step：默认是1，代表正向一个一个截取，负数代表反向
# 截取的区间是左闭右开start<=i<end
# 哪一个值不写就是用默认值
# lista = [1, 2, 3]
# listb = lista
# listb = lista[0:]
# lista[0] = 11
# print(listb)

# 这也是深拷贝
# lista = [1, 2, 3]
# listb = lista
# listb = lista.copy()
# lista[0] = 11
# print(listb)
